#include <stdio.h>
#include <stdlib.h>
#include "lucy.h"

//int main(void) {
/*#ifdef LUCY_DEBUG*/
//    lucy_CFunc_TEST();
//    lucy_LuaFunc_TEST();
//    lucy_OO_TEST();
/*    lucy_Table_TEST();*/
/*#endif*/
//    return 0;
//}


static int lucy_test(lua_State* L){
    int num = lua_gettop(L);
    printf("num:%d \n", num);
    for(int i=1; i<=num; i++){
        printf("numtype:%d \n", lua_type(L, i));
    }
    lucy_Data a = GetLuaDataOnStack(L, 1); //传入的一个table
    lucy_PrintData(&a);
//    lucy_Data d = lucy_TblData(&a, "b"); //取table的数据
//    lucy_PrintData(&d);
//    PopTop(L, &a);
//    lucy_PrintData(&a);
    lua_pop(L, num);

    //https://www.cnblogs.com/qswang/archive/2012/08/29/2661857.html
    lucy_Data res = lucy_Table();

    PushData(L, &res);//返回一个table给lua
    return 1;
}

//数组的作为参数传递是引用传递
void lucy_reg(luaL_Reg lib[], int index){
    lib[index] = (luaL_Reg){"lucy_test", lucy_test};
}
